// import com.alibaba.druid.sql.ast.SQLName;
// import com.alibaba.druid.sql.ast.SQLStatement;
// import com.alibaba.druid.sql.ast.statement.SQLForStatement;
// import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
// import com.alibaba.druid.sql.visitor.SQLASTVisitor;
#pragma once
#include "../../../../ast/statement/SQLForStatement.h"
#include "OracleStatement.h"

class OracleForStatement
    : virtual public SQLForStatement,
      virtual public OracleStatement
{
public:
  BOOL_ptr all;

  SQLName_ptr endLabel;

  SHAREDOBJECT(OracleForStatement);
  // @Override
  void accept0(SQLASTVisitor_ptr v);

  // @Override
  void accept0(OracleASTVisitor_ptr v);

  BOOL_ptr isAll();

  void setAll(BOOL_ptr all);

  SQLName_ptr getEndLabel();

  void setEndLabel(SQLName_ptr endLabel);

  SQLObject_ptr clone();
};
